const formidable = require('formidable');
const User = require('../../db/UserSchema');

// 路径模块
let path = require('path');
// 运行文件的绝对路径
// console.log(__dirname);
// console.log(path.join(__dirname, '../', '../', 'public', 'uploads'));

// 设置上传内容的配置
const form = formidable({
    // 设置文件的扩展名
    keepExtensions: true,
    uploadDir: path.join(__dirname, '../', '../', 'public', 'uploads')
});

module.exports = (req, res) => {
    console.log('已经进来了');
    form.parse(req, async(err, fields, files) => {
        // console.log(req);
        // 普通type类型提交的数据
        // console.log(fields);
        // type为files提交的数据
        // console.log(files);
        if (err) {
            res.status(500).send(err);
        } else {
            console.log(files);
            console.log(files.pic.filepath.split('public')[1]);
            let addUserMsg = {
                username: fields.username,
                password: fields.password,
                // 使用这两种方法都可以
                // pic: files.pic.filepath.split('public')[1],
                pic: '/uploads' + '/' + files.pic.newFilename,
                age: fields.age,
                sex: fields.sex,
                address: fields.address,
            };
            console.log(addUserMsg);
            try {
                await User.create(addUserMsg);
                res.redirect('/admin/userlist');
            } catch (error) {
                res.status(500).send('添加失败' + error)
            }
        }
    });
}